1. Field of the Invention
The present invention relates to image coding technology, and more particularly, to image coding technology that uses motion compensation.
2. Description of the Related Art
As compression coding systems set as international standards, ITU-T Recommendation H.264 or ISO/IEC international Standard 14496-10 (hereinafter simply H.264) and MPEG2 are known.
In these coding systems, an image is divided into a plurality of rectangle blocks (macroblocks) and coded in units of macroblocks. In addition, use is made of the high temporal and spatial correlation between frame images that constitute moving images in order to reduce coding volume.
As a coding system that makes use of temporal correlation, a compensation interframe prediction coding system is widely used. This system detects motion information (motion vectors) of coding target macroblocks and codes a difference between a prediction image generated using this motion information and the coding target macroblock.
In addition, as a coding system that makes use of spatial correlation, an intraframe prediction coding system is widely used. This system generates a prediction image using pixels in macroblocks around the coding target macroblock within the same frame and codes the difference between the prediction image generated and the coding target macroblock.
The intraframe prediction system in particular, because it has many prediction modes to handle a plurality of prediction directions, has high intraframe prediction accuracy compared to other coding systems. Details of the intraframe coding tools in H.264 as well as of other coding tools may be found in their respective recommendations.
Although a variety of different coding systems have come to be standardized as the types of images to be coded have become more diverse, with respect to the motion detection in motion compensation interframe coding systems, the conventional techniques remain unchanged even in the newly standardized coding systems.
As conventional motion detection techniques, there are those like the ones described in the following:
JP-A-H07-154801,
R. Li, B. Zeng, and M. L. Liou, “A new three-step search algorithm for block estimation,” IEEE Trans. Circuits Syst. Video Technol., vol. 4, pp. 438-442, August 1994,
L. M. Po and W. C. Ma, “A Novel four-step search algorithm for fast block estimation,” IEEE Trans. Circuits Syst. Video Technol., vol. 6, pp. 313-317, June 1996, and
S. Zhu and K.-K. Ma, “A new diamond-search algorithm for fast block-matching motion estimation,” IEEE Trans. Image Processing, vol. 9, pp. 287-290, February 2000.
At this point, a brief description is given of the usual motion detection technique by block-matching carried out conventionally.
FIG. 6 is a diagram showing schematically a configuration according to a motion detection process in a conventional coding apparatus.
In the drawing, a motion detection apparatus 601 is connected to a reference frame memory 604 via a bus 603. In the reference frame memory 604 is stored a reference frame referenced for motion detection of a current target frame. The motion detection apparatus 601 is further provided with a search area RAM 602 that stores reference data of a search area needed for the process of motion detection of the current target block.
The motion detection apparatus 601, when carrying out motion detection of the current target block, first reads out the search area reference data from the reference frame memory 604 via the bus 603 and stores the reference data in the search area RAM 602. Then, the motion detection apparatus 601 carries out sequential matching while shifting the positions of the current target block data and the reference data in the search area RAM 602 and detects the position having the highest degree of similarity as the motion vector.
The reference data changes with each target block, but, as shown in FIG. 5, portions of the search area of the block currently being processed and the search area of the block just processed overlap, and as a result, when writing the reference data to the search area RAM 602, normally only the data of the search area omitting the overlapping portion is written.
In recent years, with respect to the coding target moving image contents, the trend is toward an increase in the number of pixels per frame and an increase in the frame rate, leading to an increase in the volume of data to be coded per unit of time.
As a result, the data transfer volume per unit of time of the bus 603 in the process of reading out the motion detection area reference data from the reference frame memory 604 via the bus 603 and storing the reference data in the search area RAM 602 increases. Generally, the reference frame memory 604 is often a portion of a shared memory space also used by the CPU of an image coding apparatus and the like that includes the motion detection apparatus 601 or by another image processing unit.
As a result, an increase in the transfer volume from the reference frame memory 604 to the search area RAM 602 affects processing by the other constituent elements that use the shared memory, and in some cases can interfere with the correct operation of the image coding apparatus as a whole.
In order to prevent such an occurrence, it is necessary to take such measures as making the reference frame memory 604 not a portion of the space of the shared memory but provided as a separate, dedicated memory. However, such a countermeasure is undesirable because it increases the scale and cost of the circuitry.
In the conventional coding apparatus that implements a coding system that uses both intraframe prediction coding and interframe prediction coding such as H.264, no consideration was given to compatibility with intraframe prediction coding during the process of motion detection used in interframe prediction coding.
In addition, new coding systems such as H.264, although they have better coding efficiency than previous coding systems, are complicated and require many calculations, making it difficult to restrain increases in coding time and increases in circuit scale.
Moreover, in conventional motion detection the data transfer volume for the purpose of preparing search area reference data groups is large, which taxes the bus band.